<html xmlns="http://www.w3.org/1999/xhtml"><head><title>lib/utilities\httputility.php</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta><link rel="stylesheet" href="../css/black-tie/jquery-ui-1.8.2.custom.css" type="text/css"></link><link rel="stylesheet" href="../css/jquery.treeview.css" type="text/css"></link><link rel="stylesheet" href="../css/default.css" type="text/css"></link><script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script><script type="text/javascript" src="../js/jquery-ui-1.8.2.custom.min.js"></script><script type="text/javascript" src="../js/jquery.treeview.js"></script></head><body><script type="text/javascript">
          $(document).ready(function()
          {
            $(".treeview-docblox").treeview({
              animated: 'fast'
            });
          });

          function jq_escape(myid)
          {
            return '#' + myid.replace(/(#|\$|:|\.|\(|\))/g, '\\$1');
          }

          function applySearchHash()
          {
            hashes = document.location.hash.substr(1, document.location.hash.length);
            if (hashes != "")
            {
              hashes = hashes.split('/');
              $.each(hashes, function(index, hash)
              {
                node = $(jq_escape(hash));
                switch (node[0].nodeName)
                {
                  case 'DIV':
                    tabs = node.parents('.tabs');
                    $(tabs[0]).tabs('select', '#' + hash)
                    break;
                  case 'A':
                    window.scrollTo(0, node.offset().top);
                    break;
                }
              });
            }
          }

          jQuery(function()
          {
            jQuery(".tabs").tabs();
            applySearchHash();
          });
        </script><div id="maincontainer"><div id="header"><div class="padder"></div></div><div id="content_container"><div id="content"><div class="padder"><h1 xmlns="">lib/utilities\httputility.php</h1>
<div xmlns="" class="properties">
<h1>Properties</h1>
<label class="property-key">package</label><div class="property-value"><a title="kata" href="">kata</a></div>
</div>
<h2 xmlns="">Classes</h2>
<div xmlns="" id="HttpUtility">
<h3>HttpUtility</h3>
<div class="properties">
<h1>Properties</h1>
<label class="property-key">Extends</label><div class="property-value"> </div>
<label class="property-key">Implements</label><div class="property-value"> 
      </div>
<label class="property-key">author</label><div class="property-value">
<a title="mnt@codeninja.de">mnt@codeninja.de</a>
             
        </div>
<label class="property-key">package</label><div class="property-value">
<a title="kata_utility">kata_utility</a>
             
        </div>
<label class="property-key">Abstract</label><div class="property-value">No 
      </div>
<label class="property-key">Final</label><div class="property-value">No 
      </div>
</div>
<h4>Description</h4>
<em>http-request class that does GET and POST (and even SSL) and has no dependencies</em><br>
Kata - Lightweight MVC Framework <http://www.codeninja.de/>
Copyright 2007-2009 mnt@codeninja.de, gameforge ag

Licensed under The GPL License
Redistributions of files must retain the above copyright notice.<br><div id="methods_HttpUtility">
<h4>Methods</h4>
<a style="font-style: italic;" href="#HttpUtility::doRequest()">doRequest</a>,
      <a style="font-style: italic;" href="#HttpUtility::get()">get</a>,
      <a style="font-style: italic;" href="#HttpUtility::getReturnHeaders()">getReturnHeaders</a>,
      <a style="font-style: italic;" href="#HttpUtility::getStatus()">getStatus</a>,
      <a style="font-style: italic;" href="#HttpUtility::head()">head</a>,
      <a style="font-style: italic;" href="#HttpUtility::parseCookies()">parseCookies</a>,
      <a style="font-style: italic;" href="#HttpUtility::parseHeaders()">parseHeaders</a>,
      <a style="font-style: italic;" href="#HttpUtility::post()">post</a>,
      <a style="font-style: italic;" href="#HttpUtility::setFollowRedirects()">setFollowRedirects</a>,
      <a style="font-style: italic;" href="#HttpUtility::setRemembercookies()">setRemembercookies</a>,
      <div class="method">
<a id="HttpUtility::doRequest()"></a><h3>doRequest<span class="nb-faded-text">(
          int $type,
          string $url,
          array $getVars,
          array $postVars,
          array $headers,
          
          )
        </span>
        :
        <span class="nb-faded-text">string</span>
</h3>
<h4>Description</h4>
<em>actual wrapper</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$type</td>
<td>int</td>
<td>see TYPE_ consts. get/post/head</td>
<td></td>
</tr>
<tr>
<td>$url</td>
<td>string</td>
<td></td>
<td></td>
</tr>
<tr>
<td>$getVars</td>
<td>array</td>
<td></td>
<td></td>
</tr>
<tr>
<td>$postVars</td>
<td>array</td>
<td></td>
<td></td>
</tr>
<tr>
<td>$headers</td>
<td>array</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>string</td>
<td>html</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="HttpUtility::get()"></a><h3>get<span class="nb-faded-text">(
          string $url,
          array $getVars
            = false,
          array $headers
            = false,
          
          )
        </span>
        :
        <span class="nb-faded-text">mixed</span>
</h3>
<h4>Description</h4>
<em>do a GET request to given url. you dont have to encode get-parameters, just give it as array</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$url</td>
<td>string</td>
<td>base-url to request to eg. http://example.com/foo/bar</td>
<td></td>
</tr>
<tr>
<td>$getVars</td>
<td>array</td>
<td>optional get-parameters to append to url</td>
<td>false</td>
</tr>
<tr>
<td>$headers</td>
<td>array</td>
<td>optional request-headers to add to request</td>
<td>false</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>mixed</td>
<td>returns html or false if something went wrong (then ask lastError())</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="HttpUtility::getReturnHeaders()"></a><h3>getReturnHeaders<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Description</h4>
<em>return all webserver-headers from the last request</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="HttpUtility::getStatus()"></a><h3>getStatus<span class="nb-faded-text">(
          
          )
        </span>
        :
        <span class="nb-faded-text">int</span>
</h3>
<h4>Description</h4>
<em>returns the http-status code of the last request. 0 if we could not figure out status-code</em><br><h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>int</td>
<td></td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="HttpUtility::head()"></a><h3>head<span class="nb-faded-text">(
          string $url,
          array $getVars
            = false,
          array $headers
            = false,
          
          )
        </span>
        :
        <span class="nb-faded-text">mixed</span>
</h3>
<h4>Description</h4>
<em>do a HEAD request to given url. you dont have to encode get-parameters, just give it as array</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$url</td>
<td>string</td>
<td>base-url to request to eg. http://example.com/foo/bar</td>
<td></td>
</tr>
<tr>
<td>$getVars</td>
<td>array</td>
<td>optional get-parameters to append to url</td>
<td>false</td>
</tr>
<tr>
<td>$headers</td>
<td>array</td>
<td>optional request-headers to add to request</td>
<td>false</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>mixed</td>
<td>returns html or false if something went wrong (then ask lastError())</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="HttpUtility::parseCookies()"></a><h3>parseCookies<span class="nb-faded-text">(
           $s,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$s</td>
<td>n/a</td>
<td></td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="HttpUtility::parseHeaders()"></a><h3>parseHeaders<span class="nb-faded-text">(
           $headers,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$headers</td>
<td>n/a</td>
<td></td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="HttpUtility::post()"></a><h3>post<span class="nb-faded-text">(
          string $url,
          array $getVars
            = false,
          array $postVars
            = false,
          array $headers
            = false,
          
          )
        </span>
        :
        <span class="nb-faded-text">mixed</span>
</h3>
<h4>Description</h4>
<em>do a GET request to given url. you dont have to encode get-parameters, just give it as array</em><br><h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody>
<tr>
<td>$url</td>
<td>string</td>
<td>base-url to request to eg. http://example.com/foo/bar</td>
<td></td>
</tr>
<tr>
<td>$getVars</td>
<td>array</td>
<td>optional get-parameters to append to url</td>
<td>false</td>
</tr>
<tr>
<td>$postVars</td>
<td>array</td>
<td>optional post-parameters to add to request</td>
<td>false</td>
</tr>
<tr>
<td>$headers</td>
<td>array</td>
<td>optional request-headers to add to request</td>
<td>false</td>
</tr>
</tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>mixed</td>
<td>returns html or false if something went wrong (then ask lastError())</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="HttpUtility::setFollowRedirects()"></a><h3>setFollowRedirects<span class="nb-faded-text">(
           $follow,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$follow</td>
<td>n/a</td>
<td></td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
</div>
<div class="method">
<a id="HttpUtility::setRemembercookies()"></a><h3>setRemembercookies<span class="nb-faded-text">(
           $remember,
          
          )
        </span>
        :
        <span class="nb-faded-text">n/a</span>
</h3>
<h4>Arguments</h4>
<table>
<thead><tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr></thead>
<tbody><tr>
<td>$remember</td>
<td>n/a</td>
<td></td>
<td></td>
</tr></tbody>
</table>
<h4>Return value</h4>
<table>
<thead><tr>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody><tr>
<td>n/a</td>
<td>n/a</td>
</tr></tbody>
</table>
</div>
</div>
<div id="properties_HttpUtility">
<h2>Properties</h2>
<a href="#HttpUtility::%24followRedirects">$followRedirects</a>,
      <a href="#HttpUtility::%24lastCookies">$lastCookies</a>,
      <a href="#HttpUtility::%24rememberCookies">$rememberCookies</a>,
      <a href="#HttpUtility::%24returnHeaders">$returnHeaders</a>,
      <div class="method">
<a id="HttpUtility::$followRedirects"></a><h3>
<span class="nb-faded-text">bool 
          private 
          </span>$followRedirects</h3>
<em></em><br><small></small><br><br>
</div>
<div class="method">
<a id="HttpUtility::$lastCookies"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$lastCookies</h3>
<em>cookies from last request</em><br><small></small><br><br>
</div>
<div class="method">
<a id="HttpUtility::$rememberCookies"></a><h3>
<span class="nb-faded-text"> 
          private 
          </span>$rememberCookies</h3>
<em>send cookies we got on the last request?</em><br><small></small><br><br>
</div>
<div class="method">
<a id="HttpUtility::$returnHeaders"></a><h3>
<span class="nb-faded-text">array 
          private 
          </span>$returnHeaders</h3>
<em></em><br><small></small><br><br>
</div>
</div>
<div id="constants_HttpUtility">
<h2>Constants</h2>
<a id="HttpUtility::TYPE_GET"></a><h3>
<span class="nb-faded-text"> 
      </span>TYPE_GET<span class="nb-faded-text">
       = 1</span>
</h3>
<em></em><br><br><hr>
<a id="HttpUtility::TYPE_HEAD"></a><h3>
<span class="nb-faded-text"> 
      </span>TYPE_HEAD<span class="nb-faded-text">
       = 3</span>
</h3>
<em></em><br><br><hr>
<a id="HttpUtility::TYPE_POST"></a><h3>
<span class="nb-faded-text"> 
      </span>TYPE_POST<span class="nb-faded-text">
       = 2</span>
</h3>
<em></em><br><br><hr>
</div>
</div></div></div></div><div id="menu"><div class="padder"><h1><img src="../images/logo.png" alt=""></img></h1><div id="search-box"><script xmlns="" type="text/javascript">
      $(function() {

        var is_chrome = /chrome/.test( navigator.userAgent.toLowerCase() );
        var is_local = /file:\/\//.test(document.location.href);
        if (is_chrome && is_local)
        {
          // search is disabled on chrome with local files due to http://code.google.com/p/chromium/issues/detail?id=40787
          return;
        }

        $("#search_box").show();
        var search_index = {};
        $.ajax({
          url: "../search_index.xml",
          dataType: ($.browser.msie) ? "text" : "xml",
          error: function(data) {
            alert('An error occurred using the search data');
          },
          success: function( data ) {
            var xml;
            if (typeof data == "string") {
              xml = new ActiveXObject("Microsoft.XMLDOM");
              xml.async = false;
              xml.loadXML(data);
            } else {
              xml = data;
            }

            search_index = $("node", xml).map(function() {
              type = $("type", this).text();
              return {
                value: $("value", this).text(),
                label: '<img src="../images/icons/'+type+'.png" align="absmiddle">'+$("value", this).text(),
                id: $("id", this).text(),
              };
            }).get();

            $("#search_box").autocomplete({
              source: search_index,
              select: function(event, ui) {
                // redirect to the documentation
                $(location).attr('href', '../'+ui.item.id);
                applySearchHash();
              }
            });
          }
        });
      });
    </script><input id="search_box" style="display: none"></input></div><h4>Documentation</h4><ul><li><a href="../index.html">Class diagram</a></li><li><a href="../markers.html">TODO / Markers</a></li></ul></div></div><div id="index"><div class="padder"><h1>Namespaces</h1><ul id="namespaces-" class="treeview-docblox"><li class="namespace closed">
<div class="content"><span>default</span></div>
<ul>
<li><div class="content">
<span><a href="../files/boot_strict.html#kataStrictError">kataStrictError</a></span><small>our own exception to inject line and file into exception</small>
</div></li>
<li><div class="content">
<span><a href="../files/class_registry.html#classRegistry">classRegistry</a></span><small>Class-registry, a pseudo-singleton wrapper. Used to memorize and return all classes we did already instanciate.</small>
</div></li>
<li><div class="content">
<span><a href="../files/clustermodel.html#ClusterModel">ClusterModel</a></span><small>The cluster enabled model-class
give it an array of connection-names for database-masters (those are used to alter data)</small>
</div></li>
<li><div class="content">
<span><a href="../files/controller.html#Controller">Controller</a></span><small>The controller itself. Is initialized by the dispatcher.</small>
</div></li>
<li><div class="content">
<span><a href="../files/controller.html#Component">Component</a></span><small>base component class</small>
</div></li>
<li><div class="content">
<span><a href="../files/controllers_app_controller.html#AppController">AppController</a></span><small>A dummy-class that is included if the user does not supply an appcontroller.</small>
</div></li>
<li><div class="content">
<span><a href="../files/controllers_components_client.session.html#SessionComponent">SessionComponent</a></span><small>An experimental component for object oriented session handling using encrypted client-side cookies.
keep in mind: this cookie is VERY BIG and is sent on EVERY request, even images!</small>
</div></li>
<li><div class="content">
<span><a href="../files/controllers_components_file.session.html#SessionComponent">SessionComponent</a></span><small>A component for object oriented session handling using standard filesystem cookies</small>
</div></li>
<li><div class="content">
<span><a href="../files/controllers_components_locale.html#LocaleComponent">LocaleComponent</a></span><small>The Locale-Component Class</small>
</div></li>
<li><div class="content">
<span><a href="../files/controllers_components_memcached.session.html#SessionComponent">SessionComponent</a></span><small>A component for object oriented session handling using memcached
needs PECL memcached-extension 2.1.2 or bigger</small>
</div></li>
<li><div class="content">
<span><a href="../files/controllers_components_session.html#baseSessionComponent">baseSessionComponent</a></span><small>base session class</small>
</div></li>
<li><div class="content">
<span><a href="../files/controllers_scaffold_controller.html#ScaffoldController">ScaffoldController</a></span><small>default scaffolding-controller. extend it and use the hooks to costumize functionality</small>
</div></li>
<li><div class="content">
<span><a href="../files/databaseconnectexception.html#DatabaseConnectException">DatabaseConnectException</a></span><small>Thrown on database connection problems</small>
</div></li>
<li><div class="content">
<span><a href="../files/databaseduplicateexception.html#DatabaseDuplicateException">DatabaseDuplicateException</a></span><small>Thrown if an sql-query generates an duplication error due du primary/unique constraints</small>
</div></li>
<li><div class="content">
<span><a href="../files/databaseerrorexception.html#DatabaseErrorException">DatabaseErrorException</a></span><small>Thrown if an sql-query generates an error</small>
</div></li>
<li><div class="content">
<span><a href="../files/dbo_mssql.html#dbo_mssql">dbo_mssql</a></span><small>this class is used by the model to access the database itself</small>
</div></li>
<li><div class="content">
<span><a href="../files/dbo_mysql.html#dbo_mysql">dbo_mysql</a></span><small>this class is used by the model to access the database itself</small>
</div></li>
<li><div class="content">
<span><a href="../files/dbo_pdo.html#dbo_pdo">dbo_pdo</a></span><small>this class is used by the model to access the database itself</small>
</div></li>
<li><div class="content">
<span><a href="../files/dispatcher.html#dispatcher">dispatcher</a></span><small>dispatcher. this is the first thing that is constructed.
the dispatcher then collects all parameters given via get/post and instanciates the right controller</small>
</div></li>
<li><div class="content">
<span><a href="../files/helper.html#Helper">Helper</a></span><small>helper base-class. helpers are the classes you can access via $this-&gt;helpername inside a view</small>
</div></li>
<li><div class="content">
<span><a href="../files/kataext.html#kataExt">kataExt</a></span><small>you can freely add methods to this class at runtime</small>
</div></li>
<li><div class="content">
<span><a href="../files/kataglob.html#kataGlob">kataGlob</a></span><small>class for easy handling of global variables</small>
</div></li>
<li><div class="content">
<span><a href="../files/katahardtyped.html#kataHardtyped">kataHardtyped</a></span><small>type-enforcement class. just base your class on this class
- dont forget to call parent::__construct() if you override the c&quot;tor</small>
</div></li>
<li><div class="content">
<span><a href="../files/kataimmutable.html#kataImmutable">kataImmutable</a></span><small>todo</small>
</div></li>
<li><div class="content">
<span><a href="../files/katareg.html#kataReg">kataReg</a></span><small>registry, a configuration object that persists itself on disk.
split keys into individial sections with a dot. if you read a section an array will be returned with all keys in that section</small>
</div></li>
<li><div class="content">
<span><a href="../files/kata_functions.html#kataFunc">kataFunc</a></span><small>static wrapper class so dont we pollute any namespace anymore</small>
</div></li>
<li><div class="content">
<span><a href="../files/model.html#Model">Model</a></span><small>The base model-class that all models derive from</small>
</div></li>
<li><div class="content">
<span><a href="../files/modelloader.html#ModelLoader">ModelLoader</a></span><small>use other models inside models just like inside controllers</small>
</div></li>
<li><div class="content">
<span><a href="../files/modelloadermodel.html#ModelLoaderModel">ModelLoaderModel</a></span><small>use other models inside models just like inside controllers</small>
</div></li>
<li><div class="content">
<span><a href="../files/models_app_model.html#AppModel">AppModel</a></span><small>A dummy-class that is included if the user does not supply an appmodel.</small>
</div></li>
<li><div class="content">
<span><a href="../files/smartyview.html#SmartyView">SmartyView</a></span><small>smarty view class. used to render the view (and layout) for the controller. ALPHAish.
to use put the following in your controller:</small>
</div></li>
<li><div class="content">
<span><a href="../files/utilities_cacheutility.html#CacheUtility">CacheUtility</a></span><small>a universal caching class that can store data using several methods</small>
</div></li>
<li><div class="content">
<span><a href="../files/utilities_clusterlockutility.html#ClusterlockUtility">ClusterlockUtility</a></span><small>CLUSTERwide locking mechanism with timeout for critical sections or eventhandlers
(needs memcached)</small>
</div></li>
<li><div class="content">
<span><a href="../files/utilities_extcacheutility.html#ExtcacheUtility">ExtcacheUtility</a></span><small>extends the normal cacheutility with more memcached functions</small>
</div></li>
<li><div class="content">
<span><a href="../files/utilities_httputility.html#HttpUtility">HttpUtility</a></span><small>http-request class that does GET and POST (and even SSL) and has no dependencies</small>
</div></li>
<li><div class="content">
<span><a href="../files/utilities_imageutility.html#ImageUtility">ImageUtility</a></span><small>routines to resize images and handle downloads</small>
</div></li>
<li><div class="content">
<span><a href="../files/utilities_iputility.html#IpUtility">IpUtility</a></span><small>some ip utility functions</small>
</div></li>
<li><div class="content">
<span><a href="../files/utilities_lockutility.html#LockUtility">LockUtility</a></span><small>systemwide locking mechanism with timeout for critical sections or eventhandlers</small>
</div></li>
<li><div class="content">
<span><a href="../files/utilities_minifyutility.html#MinifyUtility">MinifyUtility</a></span><small>methods to compress css and javascript</small>
</div></li>
<li><div class="content">
<span><a href="../files/utilities_minifyutility.html#JSMin">JSMin</a></span><small>jsmin.php - PHP implementation of Douglas Crockford&quot;s JSMin.</small>
</div></li>
<li><div class="content">
<span><a href="../files/utilities_minifyutility.html#JSMinException">JSMinException</a></span><small>Exceptions ---------------------------------------------------------------</small>
</div></li>
<li><div class="content">
<span><a href="../files/utilities_rsautility.html#RsaUtility">RsaUtility</a></span><small>rsa asymetric crypto related functions</small>
</div></li>
<li><div class="content">
<span><a href="../files/utilities_simpleparseutility.html#SimpleparseUtility">SimpleparseUtility</a></span><small>routines for super simple pattern parsing</small>
</div></li>
<li><div class="content">
<span><a href="../files/utilities_validateutility.html#ValidateUtility">ValidateUtility</a></span><small>check if an array of parameters matches certain criterias.
you can still use the (deprecated) defines of model.php (until i murder you)</small>
</div></li>
<li><div class="content">
<span><a href="../files/view.html#View">View</a></span><small>default view class. used to render the view (and layout) for the controller</small>
</div></li>
<li><div class="content">
<span><a href="../files/views_helpers_form.html#FormHelper">FormHelper</a></span><small>form helper for super-easy form handling</small>
</div></li>
<li><div class="content">
<span><a href="../files/views_helpers_html.html#HtmlHelper">HtmlHelper</a></span><small>the default html-helper, available in each view.
modify this helper, or build your own one.</small>
</div></li>
<li><div class="content">
<span><a href="../files/views_helpers_js.html#JsHelper">JsHelper</a></span><small>nano-helper for javascript. simply add() javascript in your view, and get() it inside the head-section of your layout</small>
</div></li>
</ul>
</li></ul><h1>Packages</h1><ul id="packages-" class="treeview-docblox">
<li class="package closed">
<div class="content"><span>JSMin</span></div>
<ul id="packages_JSMin" class="treeview-docblox">
<li class="closed"><div class="content">
<span><a href="../files/utilities_minifyutility.html#JSMin">JSMin</a></span><small>jsmin.php - PHP implementation of Douglas Crockford&quot;s JSMin.</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/utilities_minifyutility.html#JSMinException">JSMinException</a></span><small>Exceptions ---------------------------------------------------------------</small>
</div></li>
</ul>
</li>
<li class="package closed">
<div class="content"><span>kata</span></div>
<ul id="packages_kata" class="treeview-docblox"></ul>
</li>
<li class="package closed">
<div class="content"><span>kata_component</span></div>
<ul id="packages_kata_component" class="treeview-docblox">
<li class="closed"><div class="content">
<span><a href="../files/controller.html#Component">Component</a></span><small>base component class</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/controllers_components_client.session.html#SessionComponent">SessionComponent</a></span><small>An experimental component for object oriented session handling using encrypted client-side cookies.
keep in mind: this cookie is VERY BIG and is sent on EVERY request, even images!</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/controllers_components_file.session.html#SessionComponent">SessionComponent</a></span><small>A component for object oriented session handling using standard filesystem cookies</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/controllers_components_locale.html#LocaleComponent">LocaleComponent</a></span><small>The Locale-Component Class</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/controllers_components_memcached.session.html#SessionComponent">SessionComponent</a></span><small>A component for object oriented session handling using memcached
needs PECL memcached-extension 2.1.2 or bigger</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/controllers_components_session.html#baseSessionComponent">baseSessionComponent</a></span><small>base session class</small>
</div></li>
</ul>
</li>
<li class="package closed">
<div class="content"><span>kata_controller</span></div>
<ul id="packages_kata_controller" class="treeview-docblox">
<li class="closed"><div class="content">
<span><a href="../files/controller.html#Controller">Controller</a></span><small>The controller itself. Is initialized by the dispatcher.</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/controllers_app_controller.html#AppController">AppController</a></span><small>A dummy-class that is included if the user does not supply an appcontroller.</small>
</div></li>
</ul>
</li>
<li class="package closed">
<div class="content"><span>kata_debugging</span></div>
<ul id="packages_kata_debugging" class="treeview-docblox"><li class="closed"><div class="content">
<span><a href="../files/boot_strict.html#kataStrictError">kataStrictError</a></span><small>our own exception to inject line and file into exception</small>
</div></li></ul>
</li>
<li class="package closed">
<div class="content"><span>kata_helper</span></div>
<ul id="packages_kata_helper" class="treeview-docblox">
<li class="closed"><div class="content">
<span><a href="../files/helper.html#Helper">Helper</a></span><small>helper base-class. helpers are the classes you can access via $this-&gt;helpername inside a view</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/views_helpers_form.html#FormHelper">FormHelper</a></span><small>form helper for super-easy form handling</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/views_helpers_html.html#HtmlHelper">HtmlHelper</a></span><small>the default html-helper, available in each view.
modify this helper, or build your own one.</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/views_helpers_js.html#JsHelper">JsHelper</a></span><small>nano-helper for javascript. simply add() javascript in your view, and get() it inside the head-section of your layout</small>
</div></li>
</ul>
</li>
<li class="package closed">
<div class="content"><span>kata_internal</span></div>
<ul id="packages_kata_internal" class="treeview-docblox">
<li class="closed"><div class="content">
<span><a href="../files/class_registry.html#classRegistry">classRegistry</a></span><small>Class-registry, a pseudo-singleton wrapper. Used to memorize and return all classes we did already instanciate.</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/dispatcher.html#dispatcher">dispatcher</a></span><small>dispatcher. this is the first thing that is constructed.
the dispatcher then collects all parameters given via get/post and instanciates the right controller</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/kataext.html#kataExt">kataExt</a></span><small>you can freely add methods to this class at runtime</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/kataglob.html#kataGlob">kataGlob</a></span><small>class for easy handling of global variables</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/katahardtyped.html#kataHardtyped">kataHardtyped</a></span><small>type-enforcement class. just base your class on this class
- dont forget to call parent::__construct() if you override the c&quot;tor</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/kataimmutable.html#kataImmutable">kataImmutable</a></span><small>todo</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/katareg.html#kataReg">kataReg</a></span><small>registry, a configuration object that persists itself on disk.
split keys into individial sections with a dot. if you read a section an array will be returned with all keys in that section</small>
</div></li>
</ul>
</li>
<li class="package closed">
<div class="content"><span>kata_model</span></div>
<ul id="packages_kata_model" class="treeview-docblox">
<li class="closed"><div class="content">
<span><a href="../files/clustermodel.html#ClusterModel">ClusterModel</a></span><small>The cluster enabled model-class
give it an array of connection-names for database-masters (those are used to alter data)</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/databaseconnectexception.html#DatabaseConnectException">DatabaseConnectException</a></span><small>Thrown on database connection problems</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/databaseduplicateexception.html#DatabaseDuplicateException">DatabaseDuplicateException</a></span><small>Thrown if an sql-query generates an duplication error due du primary/unique constraints</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/databaseerrorexception.html#DatabaseErrorException">DatabaseErrorException</a></span><small>Thrown if an sql-query generates an error</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/dbo_mssql.html#dbo_mssql">dbo_mssql</a></span><small>this class is used by the model to access the database itself</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/dbo_mysql.html#dbo_mysql">dbo_mysql</a></span><small>this class is used by the model to access the database itself</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/dbo_pdo.html#dbo_pdo">dbo_pdo</a></span><small>this class is used by the model to access the database itself</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/model.html#Model">Model</a></span><small>The base model-class that all models derive from</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/modelloader.html#ModelLoader">ModelLoader</a></span><small>use other models inside models just like inside controllers</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/modelloadermodel.html#ModelLoaderModel">ModelLoaderModel</a></span><small>use other models inside models just like inside controllers</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/models_app_model.html#AppModel">AppModel</a></span><small>A dummy-class that is included if the user does not supply an appmodel.</small>
</div></li>
</ul>
</li>
<li class="package closed">
<div class="content"><span>kata_scaffold</span></div>
<ul id="packages_kata_scaffold" class="treeview-docblox"><li class="closed"><div class="content">
<span><a href="../files/controllers_scaffold_controller.html#ScaffoldController">ScaffoldController</a></span><small>default scaffolding-controller. extend it and use the hooks to costumize functionality</small>
</div></li></ul>
</li>
<li class="package closed">
<div class="content"><span>kata_utility</span></div>
<ul id="packages_kata_utility" class="treeview-docblox">
<li class="closed"><div class="content">
<span><a href="../files/utilities_cacheutility.html#CacheUtility">CacheUtility</a></span><small>a universal caching class that can store data using several methods</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/utilities_clusterlockutility.html#ClusterlockUtility">ClusterlockUtility</a></span><small>CLUSTERwide locking mechanism with timeout for critical sections or eventhandlers
(needs memcached)</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/utilities_extcacheutility.html#ExtcacheUtility">ExtcacheUtility</a></span><small>extends the normal cacheutility with more memcached functions</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/utilities_httputility.html#HttpUtility">HttpUtility</a></span><small>http-request class that does GET and POST (and even SSL) and has no dependencies</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/utilities_imageutility.html#ImageUtility">ImageUtility</a></span><small>routines to resize images and handle downloads</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/utilities_iputility.html#IpUtility">IpUtility</a></span><small>some ip utility functions</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/utilities_lockutility.html#LockUtility">LockUtility</a></span><small>systemwide locking mechanism with timeout for critical sections or eventhandlers</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/utilities_minifyutility.html#MinifyUtility">MinifyUtility</a></span><small>methods to compress css and javascript</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/utilities_rsautility.html#RsaUtility">RsaUtility</a></span><small>rsa asymetric crypto related functions</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/utilities_simpleparseutility.html#SimpleparseUtility">SimpleparseUtility</a></span><small>routines for super simple pattern parsing</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/utilities_validateutility.html#ValidateUtility">ValidateUtility</a></span><small>check if an array of parameters matches certain criterias.
you can still use the (deprecated) defines of model.php (until i murder you)</small>
</div></li>
</ul>
</li>
<li class="package closed">
<div class="content"><span>kata_view</span></div>
<ul id="packages_kata_view" class="treeview-docblox">
<li class="closed"><div class="content">
<span><a href="../files/smartyview.html#SmartyView">SmartyView</a></span><small>smarty view class. used to render the view (and layout) for the controller. ALPHAish.
to use put the following in your controller:</small>
</div></li>
<li class="closed"><div class="content">
<span><a href="../files/view.html#View">View</a></span><small>default view class. used to render the view (and layout) for the controller</small>
</div></li>
</ul>
</li>
</ul>
</div></div><div id="footer"><div class="padder"></div></div></div></body></html>
